(module $module0
  (type $#Closure-0-0 <...>)
  (type $#Closure-0-2 (sub final $#Closure-0-0 (struct
    (field $field0 i32)
    (field $field1 (mut i32))
    (field $context (ref struct))
    (field $vtable (ref $#Vtable-0-2))
    (field $functionType (ref $_FunctionType)))))
  (type $#DummyStruct <...>)
  (type $#Top <...>)
  (type $#Vtable-0-2 (sub final $#DummyStruct (struct
    (field $closureCallEntry-0-1 (ref $type0))
    (field $closureCallEntry-0-2 (ref $type2)))))
  (type $Array<_NamedParameter> <...>)
  (type $Array<_Type> <...>)
  (type $_FunctionType <...>)
  (type $_InterfaceType <...>)
  (type $_TopType <...>)
  (type $type0 <...>)
  (type $type2 <...>)
  (global $"C1 WasmArray<_Type>[0]" (ref $Array<_Type>) <...>)
  (global $"C28 _InterfaceType" (ref $_InterfaceType) <...>)
  (global $"C311 WasmArray<_NamedParameter>[0]" (ref $Array<_NamedParameter>) <...>)
  (global $"C337 _TopType" (ref $_TopType) <...>)
  (global $"C341 foo tear-off" (ref $#Closure-0-2)
    (i32.const 55)
    (i32.const 0)
    (global.get $global0)
    (ref.func $"foo tear-off trampoline")
    (ref.func $"foo tear-off trampoline_299")
    (struct.new $#Vtable-0-2)
    (i32.const 12)
    (i32.const 0)
    (i32.const 0)
    (global.get $"C1 WasmArray<_Type>[0]")
    (global.get $"C1 WasmArray<_Type>[0]")
    (global.get $"C337 _TopType")
    (global.get $"C28 _InterfaceType")
    (i32.const 10)
    (i32.const 0)
    (i32.const 1)
    (i32.const 150)
    (global.get $"C1 WasmArray<_Type>[0]")
    (struct.new $_InterfaceType)
    (array.new_fixed $Array<_Type> 2)
    (i64.const 1)
    (global.get $"C311 WasmArray<_NamedParameter>[0]")
    (struct.new $_FunctionType)
    (struct.new $#Closure-0-2))
  (global $"C345 bar tear-off" (ref $#Closure-0-2)
    (i32.const 55)
    (i32.const 0)
    (global.get $global0)
    (ref.func $"bar tear-off trampoline")
    (ref.func $"bar tear-off trampoline_302")
    (struct.new $#Vtable-0-2)
    (i32.const 12)
    (i32.const 0)
    (i32.const 0)
    (global.get $"C1 WasmArray<_Type>[0]")
    (global.get $"C1 WasmArray<_Type>[0]")
    (global.get $"C337 _TopType")
    (global.get $"C28 _InterfaceType")
    (i32.const 10)
    (i32.const 0)
    (i32.const 1)
    (i32.const 133)
    (global.get $"C1 WasmArray<_Type>[0]")
    (struct.new $_InterfaceType)
    (array.new_fixed $Array<_Type> 2)
    (i64.const 1)
    (global.get $"C311 WasmArray<_NamedParameter>[0]")
    (struct.new $_FunctionType)
    (struct.new $#Closure-0-2))
  (global $global0 (ref $#DummyStruct) <...>)
  (func $bar tear-off trampoline (param $var0 (ref struct)) (param $var1 (ref null $#Top)) (result (ref null $#Top)) <...>)
  (func $bar tear-off trampoline_302 (param $var0 (ref struct)) (param $var1 (ref null $#Top)) (param $var2 (ref null $#Top)) (result (ref null $#Top)) <...>)
  (func $foo tear-off trampoline (param $var0 (ref struct)) (param $var1 (ref null $#Top)) (result (ref null $#Top)) <...>)
  (func $foo tear-off trampoline_299 (param $var0 (ref struct)) (param $var1 (ref null $#Top)) (param $var2 (ref null $#Top)) (result (ref null $#Top)) <...>)
)